#!/usr/bin/env python
# -*- coding:utf-8 -*-

from flask_script import Manager
from flask_migrate import Migrate, MigrateCommand
from info import db, create_app, models
from info.models import User

app = create_app('development')
# 设置关联app
manager = Manager(app)
# 初始化迁移对象
Migrate(app, db)
# 添加迁移指令到命令行
manager.add_command('db', MigrateCommand)


#   user 模型定义mobile非空, 必需传
# >
# > dest 后面的名称跟传递给视图函数需要一致
@manager.option('-n', '-name', dest='name')
@manager.option('-p', '-password', dest='password')
def createsuperuser(name, password):
    """创建管理员用户"""
    if not all([name, password]):
        print('参数不足')
        return

    user = User()
    user.mobile = name
    user.nick_name = name
    user.password = password
    user.is_admin = True

    try:
        db.session.add(user)
        db.session.commit()
        print("创建成功")
    except Exception as e:
        print(e)
        db.session.rollback()


"""终端执行：python manage.py createsuperuser -n admin -p 1234567
"""

if __name__ == '__main__':
    manager.run()
